/* UNIVERSIDADE FEDERAL DE CAMPINA GRANDE - UFCG
 * Disciplina: Laboratorio de Estrutura de Dados
 * Professor: Marco Aurelio Spohn
 * Alunos: Alexandre Sales Vasconcelos       Mat.: 20621146
 * Atividade 4
 */

/**
 * Implementar um algoritmo de ordenacao por BobbleSort.
 * 
 * @version 1.0 2008/05/12
 * @author Alexandre Sales Vasconcelos
 * @see <a href="http://lab.eda.ufcg.googlepages.com/ordenacaoelem"> Atividade 4 Problema 1</a>
 */

public class BubbleSort {

	/**
	 * Metodo que implementa o algoritmo BubbleSort.
	 * 
	 * @param lista Array int para ser ordenado.
	 * @return Uma String com o vetor ordenado.
	 */
	public static String bubbleSort(int[] lista) {
		int aux;
		for (int i=1; i<lista.length; i++) {
			for (int j=lista.length-1; j>=1; j--) {
				if (lista[j] < lista[j-1]) {
					aux = lista[j];
					lista[j] = lista[j-1];
					lista[j-1] = aux;
				}
			}
		}
		return listaIntToStr(lista);
	}

	/**
	 * Metodo que recebe uma lista de int e retorna a mesma como String.
	 * 
	 * @param lista Uma lista de int a ser convertida.
	 * @return Uma String da lista fornecida.
	 */
	private static String listaIntToStr(int[] lista) {
		String swap = "";
		for (int i=0; i<lista.length; i++) {
			swap += lista[i] + " ";
		}
		return swap.trim();
	}

}
